package it.patterns.structural.adapter;

/**
 * Convert the interface of a class into another interface clients expect.
 * Adapter lets classes work together that couldn't otherwise because of
 * incompatible interfaces.
 * 
 * <ul>
 * <li>multiple inheritance: only one object has been created</li>
 * <li>object composition: can work with many adaptee</li>
 * </ul>
 * 
 * <img src="Adapter.jpg" alt="Pattern Structure"/>
 * 
 * 
 * @author Luca D'Onofrio
 * 
 * @category Structural Pattern
 * @see "Design Patterns - Element of Reusable Object Oriented Software (Gamma,Helm, Johnson, Vlissides)"
 * 
 * @version 1.0
 */
public class AdapterClass extends Adaptee implements TargetInterface {

	@Override
	public String Request() {
		return SpecificRequest() + " as class adapter";
	}

}
